A fairly common problem when using a network is to experience a problem getting to a network resource because the computer did not obtain IP address, or timed out getting an IP address and assigned an “automatic private IP address.” Conventionally, the status of the IP address is not used to determine whether the computer is “connected” when the system (as opposed to an application) reports connectivity. Currently, connectivity is determined by whether the interface (the network device) has “media” connected to it, which in wired-Ethernet terms means that a cable is plugged in, or in wireless terms means that the device has “associated” with the access point. These are literally the first steps in a several step process leading to a state where a user can actually make use of the network. Despite this, as soon as the media connect state has been achieved, a user is informed that the computer is “Connected.”
This mismatch between the system's notion of “connected” and the user's notion of “connected” is the cause of a number of problems. The difficulties include the fact that some IP addresses are better than others—an address assigned by a DHCP server is far more likely to allow access to the resources the user cares about that one assigned by the computer itself in the absence of a DHCP server (a non-routable IP address such as a link-local IPv4 address). However, the link-local address is itself not necessarily a “bad” thing. There are significant complexities that make it difficult to determine when a particular IP address is good or not. Accordingly, there is a need to provide more robust reporting of network connection states to a user.
In view of the foregoing, a system, methods, and user interface for reporting the status of a network connection are provided. In an embodiment of this invention, an icon is used to inform the user that the network connection is not connected, connecting, connected (routable IP address obtained), or in a warning state. The warning state indicates that a non-routable IP address (e.g. autonet address) has been obtained, which will likely be unsatisfactory to the user. However, when connected to an 802.11 ad-hoc network, or when IP status checking is disabled (by the user or administrator), a non-routable IP address is deemed acceptable, and thus the “connected” icon is displayed.
One embodiment of the invention is directed at a method of informing the user of a network connection status. The method comprises attempting to join a network; detecting a state of the attempt; if the computer system is not connected to a network medium, determining the attempt to be in a first state; if the computer system has acquired a routable network address, determining the state of the attempt to be in a second state; if the computer system has acquired a non-routable network address, determining the state of the attempt to be in a third state; if the attempt is not in one of the first, second and third states, determining the state of the attempt to be in a fourth state; and informing the user of the state of the attempt. Attempting to join a network further comprises undergoing an authentication procedure, and if the authentication procedure fails, determining the state of the attempt to be in the third state. In keeping with features of the invention, the first state is a disconnected state, the second state is a connected state, the third state is a warning state, and the fourth state is a connecting state.
When the state of the attempt is in the warning state, one embodiment of the invention informs the user how to repair a problem causing the attempt to be in the warning start. The network may be a wired network, wherein the computer system is connected to a network medium if a wired physical connection to the network is detected. The network may be a wireless network, wherein the computer system is connected to a network medium if the computer system has detected a wireless network. In one embodiment, the network is a TCP/IP network and the network address is an IPv4 address. When one of IP status checking is disabled on the computer system, or the type of 802.11 network is determined to be an “ad-hoc” network, the state of the attempt is determined to be in the second state if the computer system is connected to a network medium.
A user may be informed of the state by displaying an icon on a desktop of an operating system. The icon is different for each state. A detected change in the state of the attempt is reported to the user by changing the icon.
Another embodiment of the invention is directed at a user interface for informing a user of a computer system of a status of a network connection. The user interface includes a first icon that is displayed to signify that the network connection is in a first state, wherein the first state is a state of not being connected to a network medium; a second icon that is displayed to signify that the network connection is in a second state, wherein the second state is a state of having acquired a routable IP address; a third icon that is displayed to signify that the network connection is in a third state, wherein the third state is a state of having acquired a non-routable IP address; and a fourth icon that is displayed to signify that the network connection is in a fourth state, wherein the fourth state is a state of attempting to connecting to a network. The icon may be displayed in the notification area (sometimes referred to as the “system tray”). Clicking the icon launches a dialog box.
Additional features and advantages of the invention are made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying figures.